train_2lsom Subroutine

public subroutine train_2lsom(kohonen_map, input_data)

Subroutine to train a two_level self_organized_map

Type Bound

two_level_self_organizing_map

Arguments

Type IntentOptional Attributes Name
class(two_level_self_organizing_map) :: kohonen_map

A two_level_self_organizing_map object

type(kohonen_pattern), intent(inout), dimension(:) :: input_data

A kohonen_pattern array


Calls

proc~~train_2lsom~~CallsGraph proc~train_2lsom two_level_self_organizing_map%train_2lsom proc~assign_input_to_clusters two_level_self_organizing_map%assign_input_to_clusters proc~train_2lsom->proc~assign_input_to_clusters proc~train_cluster_layer two_level_self_organizing_map%train_cluster_layer proc~train_2lsom->proc~train_cluster_layer proc~train_grid_layer two_level_self_organizing_map%train_grid_layer proc~train_2lsom->proc~train_grid_layer none~distance~8 kohonen_prototype%distance proc~assign_input_to_clusters->none~distance~8 proc~kohonen_pattern_accessor kohonen_pattern%kohonen_pattern_accessor proc~assign_input_to_clusters->proc~kohonen_pattern_accessor float float proc~train_cluster_layer->float proc~train_cluster_layer->none~distance~8 none~get_prototype kohonen_prototype%get_prototype proc~train_cluster_layer->none~get_prototype none~set_prototype kohonen_prototype%set_prototype proc~train_cluster_layer->none~set_prototype proc~train_grid_layer->float proc~train_grid_layer->none~distance~8 proc~train_grid_layer->none~get_prototype proc~train_grid_layer->none~set_prototype proc~calculate_distance_between_prototypes~2 two_level_self_organizing_map%calculate_distance_between_prototypes proc~train_grid_layer->proc~calculate_distance_between_prototypes~2 proc~calculate_u_matrix~2 two_level_self_organizing_map%calculate_u_matrix proc~train_grid_layer->proc~calculate_u_matrix~2 proc~index2position~2 index2position proc~train_grid_layer->proc~index2position~2 proc~train_grid_layer->proc~kohonen_pattern_accessor proc~position2index~2 position2index proc~train_grid_layer->proc~position2index~2 none~distance~8->none~get_prototype calculate calculate none~distance~8->calculate proc~calculate_distance_between_prototypes~2->proc~position2index~2 proc~calculate_u_matrix~2->none~distance~8

Called by

proc~~train_2lsom~~CalledByGraph proc~train_2lsom two_level_self_organizing_map%train_2lsom proc~train_two_level_som train_two_level_som proc~train_two_level_som->proc~train_2lsom

Source Code

   subroutine train_2lsom(kohonen_map,input_data)
   !========================================================================================
!!   Subroutine to train a two_level self_organized_map
      class(two_level_self_organizing_map) :: kohonen_map
!! A `two_level_self_organizing_map` object
      type(kohonen_pattern),dimension(:),intent(inout) :: input_data
!! A `kohonen_pattern` array
      call train_grid_layer(kohonen_map,input_data);
   !
      call train_cluster_layer(kohonen_map);
   !
      call kohonen_map%assign_input_to_clusters(input_data);
   !
   end subroutine train_2lsom